package com.hakim.wfb.dao;

import com.hakim.wfb.admin.params.admin.QueryAdminParam;
import com.hakim.wfb.admin.result.admin.QueryAdminView;
import com.hakim.wfb.admin.result.admin.AdminInfoView;
import com.hakim.wfb.bean.Menu;
import com.hakim.wfb.bean.Admin;
import com.hkfs.fundamental.database.DaoBase;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Map;

@Repository
public interface AdminDao extends DaoBase<Admin, Long> {

    /**
     * 查询用户列表
     *
     * @param param
     * @return
     */
    List<QueryAdminView> queryUserList(QueryAdminParam param);

    /**
     * 查询用户列表记录数
     *
     * @param param
     * @return
     */
    int queryUserCount(QueryAdminParam param);

    /**
     * 判断是否有同用户名的记录
     *
     * @param param
     * @return
     */
    int modifyExists(Map<String, Object> param);

    /**
     * 根据用户ID获取菜单
     *
     * @param userId
     * @return
     */
    List<Menu> getMenuByUserId(Long userId);

    List<Menu> getMenuByUserId2(Long userId);

    /**
     * 根据用户名获取用户信息，登录用
     *
     * @param username
     * @return
     */
    List<AdminInfoView> getUserByUsername(String username);
}
